/* Copyright (c) 2012 Universidad Del Atlántico
 
 Autor 

 Carlos Fuentes
 
 /* All rights reserved.
 
 /* Redistribution and use in source and binary forms, with or without
 /* modification, are permitted provided that the following conditions
 /* are met:
 /* 1. Redistributions of source code must retain the above copyright
 /*    notice, this list of conditions and the following disclaimer.
 /* 2. Redistributions in binary form must reproduce the above copyright
 /*    notice, this list of conditions and the following disclaimer in the
 /*    documentation and/or other materials provided with the distribution.
 /* 3. Neither the name of copyright holders nor the names of its
 /*    contributors may be used to endorse or promote products derived
 /*    from this software without specific prior written permission.
 
 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 /* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 /* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 /* PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS
 /* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 /* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 /* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 /* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 /* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 /* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 /* POSSIBILITY OF SUCH DAMAGE.
 
 
 */
$(function() {
    $(document).on("ready", function() {
        var action = this.URL+"startsession";
        var myForm = $("<form></form>");
        //$( "body" ).append( myForm );
        myForm.attr("action", action)
        .attr("method", "post")
        $("body").append(myForm);
        $("body").append($("<div></div>").attr("id", "hiddendiv").css("display", "none"))
        myForm.submit();
        myForm.remove();
    });


    $('#sideleft').slimScroll();
    $('#content').slimScroll();
    $('#sideright').slimScroll();
    $(document).on("click", "a", function(objEvent) {
        objEvent.preventDefault();
        var action = $(this).attr("href");//.split("/")[$(this).attr("href").split("/").length - 1]
        var myForm = $("<form></form>");
        //$( "body" ).append( myForm );
        myForm.attr("action", action)
        .attr("method", "post")
        $("body").append(myForm);
        var input = $("<input>").attr("type", "hidden").attr("name", "function").val(action);
        var input2 = $("<input>").attr("type", "hidden").attr("name", "value").val($(this).attr("myvalue"));
        myForm.append($(input));
        myForm.append($(input2));
        myForm.submit();
        myForm.remove();
    });
    $(document).on("submit", "form", function(objEvent) {
        //objEvent.preventDefault();
        var action = $(this).attr("action");
        var input = $("<input>").attr("type", "hidden").attr("name", "function").val(action);
        $(this).attr("action", "#");
        var jForm = $(this);
        $(this).append($(input));
        var target = $(this).attr("target");
        var strName = ("uploader" + (new Date()).getTime());
        var jFrame = $("<iframe name=\"" + strName + "\" src=\"about:blank\" />");
        jFrame.css( "display", "none" );
        $("body").append(jFrame);
        $(this)
        .attr("method", "post")
        .attr("target", strName);
        jFrame.load(function(objEvent) {
            var objUploadBody = window.frames[ strName ].document.getElementsByTagName("body")[ 0 ];
            var jBody = $(objUploadBody);
            //console.log(jBody.html());
            try {
                obj = $.parseJSON(jBody.html());
                if (obj.error) {
                    if ($("#" + obj.div + " span").length) {
                        $("#" + obj.div + " span").remove();
                    }
                    $("#" + obj.div).append("<span>" + obj.mensaje.span + "</span>")
                    $("#" + obj.div + " span").css("background", "#FEF29F").delay(1500).fadeOut(750);
                } else {
                    if(obj.div.attr("class")=="error"){
                        
                    }else{
                        $("#" + obj.div).html(returnMensaje(obj.mensaje));
                    }
                }
                if ($.browser.opera) {
                    jBody.html("");
                    jFrame.remove();
                }
            } catch (e) {
                var c = jBody.find("div").length;
                var sw = false;
                jBody.find("div").each(function(i, e) {
                    var id = $("#" + $(this).attr("id"));
                    if ($(this).attr("class")=="error"){
                        id.append($(this).html())
                        id.find("span").css("background", "#FEF29F").delay(1500).fadeOut(750);
                    }else{
                        
                        id.html($(this).html())
                        
                    }
                    if (i == c - 1 && $.browser.opera) {
                            jBody.html("");
                            jFrame.remove();
                        }
                })
            //                if ($.browser.opera) {
            //                    jBody.html("");
            //                    jFrame.remove();
            //                }
            }
            //$("#content").html(jBody.html());
            if (!$.browser.opera) {
                jBody.html("");
                jFrame.remove();
            }
            jForm.attr("target", target)
            input.remove();
            jForm.attr("action", action);

        });


    });

});
function returnMensaje(mensaje) {
    var mensj = "";
    $.each(mensaje, function(key, value) {
        if ("#text" in value) {
            mensj += value["#text"][0];
        } else {
            if ("a" in value) {
                mensj += "<a href='" + value.a.attributes.href + "'>" + value.a.hijos[0]["#text"][0] + "</a>"
            } else {
                if ("br" in value) {
                    mensj += "<br />";
                }
            }
        }
    })

    return mensj;
}

